package com.aaa.vegetablemarketexpress.dao;

import com.aaa.vegetablemarketexpress.entity.Spec;
import com.aaa.vegetablemarketexpress.util.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @FileName: SpecDao
 * @Description:
 * @Author: 张钰哲
 * @CreateTime: 2025/9/6 11:46
 * @Version: 1.0.0
 */
public interface SpecDao {
    /**
     * 分页查询规格列表
     */
    List<Spec> queryByParam(Spec spec);

    /**
     * 根据ID查询规格
     */
    Spec queryBySpecId(Long specId);

    /**
     * 添加规格
     */
    int add(Spec spec);

    /**
     * 修改规格
     */
    int update(Spec spec);

    /**
     * 删除规格
     */
    int deleteBySpecId(Long specId);

    /**
     * 批量查询规格
     */
    List<Spec> queryByIds(@Param("specIds") List<Long> specIds);

    /**
     * 检查规格名称是否唯一
     */
    int checkSpecNameUnique(String specName);

    /**
     * 检查规格名称是否唯一（排除当前ID）
     */
    int checkSpecNameUniqueExcludeId(@Param("specName") String specName, @Param("specId") Long specId);
}
